Файл: Repka.txt
Дата: 10.04.2014
1:
2:
3:
4:
5:
6: список выбратьСлучайный ОВОЩ репка;ананас;кабачок
7: присвоить КАНДИДАТЫ_ТЯНУТЬ_ОВОЩ 'дед;баба;внучка;собака Жучка;кошка;мышка;медведь;бегемот;чудище мохнатое;Димка'
8: присвоить ЦЕПЬ {}
9: для (список сгенерить $результат 1 (список выбратьСлучайный $результат 3;4;5 ) )
10: список выбратьСлучайный ЕМУ_ПОВЕЗЛО [КАНДИДАТЫ_ТЯНУТЬ_ОВОЩ]
11: список сцепить ЦЕПЬ $ [ЕМУ_ПОВЕЗЛО]
12: множество разность КАНДИДАТЫ_ТЯНУТЬ_ОВОЩ $ [ЕМУ_ПОВЕЗЛО]
13: следующий
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24: факт добавить \
25: r;сущ;дед;муж;деда \
26: r;сущ;баба;жен;бабу \
27: r;сущ;внучка;жен;внучку \
28: 'r;сущ;собака Жучка;жен;собаку Жучку' \
29: r;сущ;кошка;жен;кошку \
30: r;сущ;мышка;жен;мышку \
31: r;сущ;медведь;муж;медведя \
32: r;сущ;бегемот;муж;бегемота \
33: 'r;сущ;чудище мохнатое;ср;чудище мохнатое' \
34: r;сущ;Димка;муж;Димку \
35: r;сущ;репка;жен;репку \
36: r;сущ;кабачок;муж;кабачок \
37: r;сущ;ананас;муж;ананас \
38: r;прил;большой;большая;большое \
39: r;гл;посадил;посадила;посадило \
40: r;гл;вырос;выросла;выросло \
41: r;гл;позвал;позвала;позвало \
42: r;гл;ухватился;ухватилась;ухватилось
43:
44:
45:
46:
47:
48: функция род? слово
49: память локальный род
50: если (факт сопоставитьСПервым $результат "r;сущ;[слово];[?род];[?]" )
51: иначе
52: показать сообщение "Не могу определить род слова '[слово]'."
53: стоп
54: конец
55: присвоить $результат [род]
56: возврат
57:
58: функция словоформа слово часть_речи род падеж
59: память локальный слово_на_печать вин_пад жен_род ср_род
60: присвоить слово_на_печать [слово]
61:
62: выбрать [часть_речи]
63: вариант сущ
64: факт сопоставитьСПервым _ "r;сущ;[слово];[?];[?вин_пад]"
65: если [падеж] == вин
66: присвоить слово_на_печать [вин_пад]
67: конец
68: вариант прил
69: факт сопоставитьСПервым _ "r;прил;[слово];[?жен_род];[?ср_род]"
70: список отобразить слово_на_печать [род] "муж;жен;ср" "[слово];[жен_род];[ср_род]" [слово]
71: вариант гл
72: факт сопоставитьСПервым _ "r;гл;[слово];[?жен_род];[?ср_род]"
73: список отобразить слово_на_печать [род] "муж;жен;ср" "[слово];[жен_род];[ср_род]" [слово]
74: конецВыбора
75: присвоить $результат [слово_на_печать]
76: возврат
77:
78: функция Печать_предложения
79: строка копировать первая_буква [ПРЕДЛОЖЕНИЕ] 1 1
80: строка прописные первая_буква $
81: строка присвоить ПРЕДЛОЖЕНИЕ $ 1 [первая_буква]
82: >[ПРЕДЛОЖЕНИЕ]
83: возврат
84:
85:
86:
87:
88:
89: список голова ГЕРОЙ [ЦЕПЬ]
90: строка сцепить ПРЕДЛОЖЕНИЕ 'Сказка про то, как ' \
91: (словоформа посадил гл (род? [ГЕРОЙ] ) '' ) ' ' [ГЕРОЙ] ' ' (словоформа [ОВОЩ] сущ '' вин )
92: Печать_предложения
93: >(Вариация на тему русской народной сказки РЕПКА)
94: >
95: строка сцепить ПРЕДЛОЖЕНИЕ \
96: (словоформа посадил гл (род? [ГЕРОЙ] ) '' ) ' ' [ГЕРОЙ] ' ' (словоформа [ОВОЩ] сущ '' вин ) .
97: Печать_предложения
98: строка сцепить ПРЕДЛОЖЕНИЕ \
99: (словоформа вырос гл (род? [ОВОЩ] ) '' ) ' ' [ОВОЩ] ' очень ' (словоформа большой прил (род? [ОВОЩ] ) '' ) .
100: Печать_предложения
101: строка сцепить ПРЕДЛОЖЕНИЕ \
102: [ГЕРОЙ] ' ' (словоформа [ОВОЩ] сущ '' вин ) ' тянет-потянет, а вытянуть не может.'
103: Печать_предложения
104:
105:
106:
107: присвоить ЦЕПЬ_ТЯНУТ {}
108: для [ЦЕПЬ]
109: список сцепить ЦЕПЬ_ТЯНУТ $ [$ОбъектЦикла]
110: если [$СписокЦикла] != {}
111: список голова ПОМОЩНИК [$СписокЦикла]
112:
113: >
114: строка сцепить ПРЕДЛОЖЕНИЕ \
115: (словоформа позвал гл (род? [$ОбъектЦикла] ) '' ) ' ' [$ОбъектЦикла] ' ' \
116: (словоформа [ПОМОЩНИК] сущ '' вин ) .
117: Печать_предложения
118:
119: присвоить ПРЕДЛОЖЕНИЕ ''
120: список инвертировать ЦЕПЬ_ТЯНУТ_ИНВ "[ЦЕПЬ_ТЯНУТ];[ПОМОЩНИК]"
121: для [ЦЕПЬ_ТЯНУТ_ИНВ]
122: если [$СписокЦикла] != {}
123: если [$НомерИтерации] = 1
124: строка сцепить ПРЕДЛОЖЕНИЕ $ (словоформа ухватился гл (род? [ПОМОЩНИК] ) '' ) ' '
125: конец
126: строка сцепить ПРЕДЛОЖЕНИЕ $ [$ОбъектЦикла] ' за ' \
127: (словоформа (список голова $результат [$СписокЦикла] ) сущ '' вин ) ', '
128: конец
129: следующий
130: строка сцепить ПРЕДЛОЖЕНИЕ $ [ГЕРОЙ] ' за ' (словоформа [ОВОЩ] сущ '' вин ) .
131: Печать_предложения
132:
133: если (список размер $результат [$СписокЦикла] ) > 1
134: >Тянут-потянут, а вытянуть не могут.
135: конец
136: конец
137: следующий
138:
139:
140: строка сцепить ПРЕДЛОЖЕНИЕ 'Тянут-потянут... И вытянули ' (словоформа [ОВОЩ] сущ '' вин ) !
141: Печать_предложения